using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("UberShuriken")]
	public class UberShuriken : MonoBehaviour
	{
		public static int VORTEX_NOISE_INVERVAL => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "UberShuriken", "VORTEX_NOISE_INVERVAL");

		public static int FOLLOW_CURVE_INVERVAL => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "UberShuriken", "FOLLOW_CURVE_INVERVAL");

		public static int CURL_NOISE_INVERVAL => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "UberShuriken", "CURL_NOISE_INVERVAL");

		public bool m_IncludeChildren => method_2<bool>("m_IncludeChildren");

		public UberCurve m_UberCurve => method_3<UberCurve>("m_UberCurve");

		public bool m_FollowCurveDirection => method_2<bool>("m_FollowCurveDirection");

		public bool m_FollowCurvePosition => method_2<bool>("m_FollowCurvePosition");

		public float m_FollowCurvePositionAttraction => method_2<float>("m_FollowCurvePositionAttraction");

		public float m_FollowCurvePositionIntensity => method_2<float>("m_FollowCurvePositionIntensity");

		public bool m_CurlNoise => method_2<bool>("m_CurlNoise");

		public float m_CurlNoisePower => method_2<float>("m_CurlNoisePower");

		public float m_CurlNoiseScale => method_2<float>("m_CurlNoiseScale");

		public Vector3 m_CurlNoiseAnimation => method_2<Vector3>("m_CurlNoiseAnimation");

		public float m_CurlNoiseGizmoSize => method_2<float>("m_CurlNoiseGizmoSize");

		public bool m_Twinkle => method_2<bool>("m_Twinkle");

		public float m_TwinkleRate => method_2<float>("m_TwinkleRate");

		public float m_TwinkleBias => method_2<float>("m_TwinkleBias");

		public float m_time => method_2<float>("m_time");

		public int m_followCurveIntervalIndex => method_2<int>("m_followCurveIntervalIndex");

		public int m_curlNoiseIntervalIndex => method_2<int>("m_curlNoiseIntervalIndex");

		public UberShuriken(IntPtr address, string className)
			: base(address, className)
		{
		}

		public UberShuriken(IntPtr address)
			: this(address, "UberShuriken")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Update()
		{
			method_8("Update");
		}

		public void OnDrawGizmosSelected()
		{
			method_8("OnDrawGizmosSelected");
		}

		public List<Vector4> GizmoCirclePoints(int numOfPoints, float radius)
		{
			return method_14<Class250<Vector4>>("GizmoCirclePoints", new object[2] { numOfPoints, radius })?.method_25();
		}

		public List<Vector4> GizmoCircleLines(int numOfPoints, float previousRadius, float radius)
		{
			return method_14<Class250<Vector4>>("GizmoCircleLines", new object[3] { numOfPoints, previousRadius, radius })?.method_25();
		}

		public Vector4 GizmoCurlNoisePoint(Vector3 point)
		{
			return method_11<Vector4>("GizmoCurlNoisePoint", new object[1] { point });
		}

		public void UpdateParticles()
		{
			method_8("UpdateParticles");
		}

		public void UpdateParticleSystemList()
		{
			method_8("UpdateParticleSystemList");
		}

		public void CreateCurve()
		{
			method_8("CreateCurve");
		}
	}
}
